package com.example.synccenter.identitysource.core;

import java.util.Map;

/**
 * 身份源接口，定义同步中心中所有身份源的统一操作规范。
 * @param <T> 具体身份源配置类型
 */
public interface IdentitySource<T extends IdentitySourceConfig> {
    /**
     * 获取身份源名称
     * @return 名称
     */
    String getName();
    /**
     * 获取身份源配置
     * @return 配置对象
     */
    T getConfig();
    /**
     * 执行同步操作（如同步用户、部门等数据）
     * @param context 同步上下文参数
     */
    void sync(Map<String, Object> context);
    /**
     * 处理事件（如回调事件）
     * @param context 事件上下文参数
     * @return 处理结果
     */
    Object event(Map<String, Object> context);
} 